use std::fmt::{Debug, Error, Formatter};

/// 表达式
pub enum Expression {
    //Statement(Box<Expression>),
    Echo(i64),
}

impl Debug for Expression {
    fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error> {
        use self::Expression::*;
        match *self {
            Echo(n) => write!(fmt, "echo {:?}", n),
        }
    }
}

/// 操作码
pub enum Opcode {
    Add,
    Sub,
    Mul,
    Div,
}
